<%@ page import="java.util.Map" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %><%--
  Created by IntelliJ IDEA.
  User: 周欣
  Date: 2021/5/29
  Time: 21:12
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL的运算</title>
</head>
<body>
    <%--关系运算--%>
    ${ 12 == 12 } 或 ${ 12 eq 12 } <br>
    ${ 12 != 12 } 或 ${ 12 ne 12 } <br>
    ${ 12 < 12 } 或 ${ 12 lt 12 } <br>
    ${ 12 > 12 } 或 ${ 12 gt 12 } <br>
    ${ 12 <= 12 } 或 ${ 12 le 12 } <br>
    ${ 12 >= 12 } 或 ${ 12 ge 12 } <br>
    <hr>


    <%--逻辑运算--%>
    ${ 12 == 12 && 12 > 11 } 或 ${ 12 == 12 and 12 > 11 } <br>
    ${ 12 == 12 || 12 > 11 } 或 ${ 12 == 12 or 12 > 11 } <br>
    ${ ! true } 或 ${ not true } <br>
    <hr>


    <%--算数运算--%>
    ${ 12 + 12 } <br>
    ${ 12 - 12 } <br>
    ${ 12 * 12 } <br>
    ${ 18 / 12 } 或 ${ 18 div 12 }<br>
    ${ 18 % 12 } 或 ${ 18 mod 12 } <br>


    <%--empty运算--%>
    <%
        //1、值为null值的时候，为空
        request.setAttribute("emptyNull", null);
        //2、值为空串的时候，为空
        request.setAttribute("emptyStr", "");
        //3、值是Object类型数组，长度为零的时候
        request.setAttribute("emptyArr", new Object[]{});
        //4、list集合，元素个数为零
        List<String> list = new ArrayList<>();
        //list.add("abc");
        request.setAttribute("emptyList", list);
        //5、map集合，元素个数为零
        Map<String,Object> map = new HashMap<String, Object>();
        //map.put("key1", "value1");
        request.setAttribute("emptyMap", map);
    %>
    ${ empty emptyNull } <br/>
    ${ empty emptyStr } <br/>
    ${ empty emptyArr } <br/>
    ${ empty emptyList } <br/>
    ${ empty emptyMap } <br/>
    <hr>

    <%--
    三元运算
        表达式 1？表达式 2：表达式 3
        如果表达式 1 的值为真，返回表达式 2 的值，如果表达式 1 的值为假，返回表达式 3 的值。
    --%>
    ${ 12 != 12 ? "国哥帅呆":"国哥又骗人啦" }
    <br>


    <%--
        .点运算，可以输出 Bean 对象中某个属性的值。
        []中括号运算，可以输出有序集合中某个元素的值。
        并且[]中括号运算，还可以输出 map 集合中 key 里含有特殊字符的 key 的值。
    --%>
    <%
        Map<String,Object> map2 = new HashMap<String, Object>();
        map.put("a.a.a", "aaaValue");
        map.put("b+b+b", "bbbValue");
        map.put("c-c-c", "cccValue");
        request.setAttribute("map2", map2);
    %>
    ${ map2['a.a.a'] } <br>
    ${ map2["b+b+b"] } <br>
    ${ map2['c-c-c'] } <br>
</body>
</html>
